package org.zjt.algorithm;

import java.util.TreeMap;

/**
 * 1、HashMap的尾插法解决cpu达到100%的问题，将待转移的链表的头结点插入到已转移的尾部，防止产生环。*
 * 2、linkedHashMap： LinkedHashMap 通常提供的是遍历顺序符合插入顺序，它的实现是通过为条目（键值对）维护一个双向链表。（LRU）
 * 3、TreeMap ： 将key按照自己的排序方式排序，可实现优先队列。（Comparator、comparable）则是基于红黑树的一种提供顺序访问的 Map
 * 4、hash值：有些数据计算出的哈希值差异主要在高位，而 HashMap 里的哈希寻址是忽略容量以上的高位的，那么这种处理就可以有效避免类似情况下的哈希碰撞。（hash取高位）
 *
 * 5、ConcurrentHashMap：
 *      1、链表树化
 *      2、链表为空cas，链表head更新也是cas
 *      3、链表不为空，synchronized
 *      4、size的addrlong方式
 */
public class MapTest {
    public static void main(String[] args) {
        TreeMap map = new TreeMap();
        map.put(2,"222");
        map.put(1,"222");
        map.put(0,"222");
        map.entrySet().forEach(item -> System.out.println(item +"," ));
    }
}
